package com.wtwd.campus.fjryE15.service;

import com.wtwd.campus.fjryE15.entity.PhoneData;
import com.wtwd.campus.fjryE15.entity.PhoneDatas;
import com.wtwd.campus.fjryE15.entity.vo.AuthSetSpecialNum;

import java.util.List;

/**
 * @author mjy(此处用于福建电信号码类服务处理)
 * @date 2022/09/19
 * @description
 */
public interface PhoneService {
    /**
     * 鉴别设置是否符合设置号码的条件
     * 1.设备是否存在
     * 2.if 设备是否在线
     * 不在线不发
     * 3.是否符合号码最大容量
     *
     * @param imei
     * @param sosLists
     * @param familyLists
     * @param whiteLists
     * @return
     */
    AuthSetSpecialNum AuthSetSpecialNum(String imei, List<PhoneData> sosLists,
                                        List<PhoneData> familyLists, List<PhoneData> whiteLists);


    /**
     * 设置号码
     *
     * @param sosLists
     * @param familyLists
     * @param whiteLists
     * @return
     */
    Boolean sendPhone(Integer deviceId, String imei, List<PhoneData> sosLists, List<PhoneData> familyLists, List<PhoneData> whiteLists);


    /**
     * 1.取消缓存重发
     * 2.将上一条指令记录置为失败
     *
     * @param imei
     * @param cmdPrefix
     * @return
     */
    Boolean deleteCacheCmd(String imei, String cmdPrefix);

    /**
     * 清除号码数据
     *
     * @param deviceId
     * @return
     */
    Boolean clearPhoneData(Integer deviceId);


    /**
     * 根据设备id获取号码集合
     *
     * @param deviceId
     * @return
     */
    PhoneDatas getPhonesByDeviceId(Integer deviceId);


}
